Thiết kế cơ bản của một hệ thống tính toán được xác định bởi mối quan hệ giữa Bộ xử lý và Bộ nhớ. Sự khác biệt chính nằm ở việc các lệnh và dữ liệu có chia sẻ một đường truyền duy nhất hay sử dụng các kênh riêng biệt.
1. Kiến trúc von Neumann
Được sử dụng trong các hệ thống phổ thông như x86-64, mô hình này có không gian bộ nhớ thống nhất. Bộ xử lý truy cập cả mã lệnh và dữ liệu qua một bus duy nhất, dẫn đến hiện tượng bẫy von Neumann: độ trễ xảy ra khi bộ xử lý phải chuyển đổi giữa việc lấy lệnh và truy cập các toán hạng.
2. Kiến trúc Harvard
Thường gặp trong các bộ xử lý chuyên dụng và ARMv8-A các triển khai bộ nhớ đệm L1, thiết kế này sử dụng bộ nhớ và đường truyền tín hiệu vật lý riêng biệt. Điều này cho phép lấy đồng thời một mã lệnh và một toán hạng dữ liệu, làm tăng đáng kể băng thông.
Sơ đồ luồng: Chu kỳ truy xuất bộ nhớ trong kiến trúc von Neumann cho thấy việc sử dụng bus tuần tự.
3. Sự hội tụ cấu trúc
Các hệ thống HPC hiện đại thường sử dụng kiến trúc Harvard đã sửa đổi. Chúng hoạt động giống như máy Harvard ở cấp độ bộ nhớ đệm L1 (tách biệt bộ nhớ đệm lệnh I-cache và bộ nhớ đệm dữ liệu D-cache) để tối đa hóa tốc độ, đồng thời duy trì mô hình von Neumann tại bộ nhớ chính RAM để linh hoạt trong lập trình.